package uiMain.menuconsola;

import gestorHotel.Hotel;
import gestorHotel.reserva.Reserva;
import gestorHotel.reserva.TipoEstadoReserva;

import java.io.File;
import java.io.PrintWriter;
import java.util.Scanner;

public class OpcionDeMenuCalculoFactura extends OpcionDeMenu {

	public void ejecutar() {
		Scanner in = new Scanner(System.in);
		String h = seleccionarHotel();
		
		Hotel hotel = Main.hoteles.get(h);
		
		Reserva reserva = null;
		for (Reserva r : hotel.getReservas().values()) {
			if (r.getEstado() != TipoEstadoReserva.ACTIVA)
				continue;
			if (!r.getUsuario().equals(Main.usuario.getUsuario()))
				continue;
			reserva = r;
			break;
		}
		
		if (reserva == null) {
			System.out.println("Usted no está alojado en el hotel!");
			return;
		}
		
		System.out.println("Generando factura...");
		String factura = reserva.generarFactura(h);
		
		System.out.print("Desea ver el contenido de la factura? (Y/N) ");
		String yn = in.nextLine();
		if (yn.startsWith("y") || yn.startsWith("Y"))
			System.out.println(factura);
		
		try {
			PrintWriter out = new PrintWriter(new File("factura_" + Main.usuario.getUsuario() + ".txt"));
			out.println(factura);
			out.close();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	public String getDescripcion() {
		return "Cálculo de la factura.";
	}

}
